package com.itheima.Mapper;

import com.itheima.pojo.Address;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AddressMapper {

    /**
     * 查询用户地址列表
     */
    List<Address> list(@Param("userId") Integer userId);

    /**
     * 查询用户默认地址
     */
    Address findDefault(@Param("userId") Integer userId);

    /**
     * 查询地址详情
     */
    Address get(@Param("id") Integer id);

    /**
     * 新增地址
     */
    void insert(Address address);

    /**
     * 更新地址
     */
    void update(Address address);

    /**
     * 取消用户所有地址的默认状态
     */
    void cancelDefault(@Param("userId") Integer userId);

    /**
     * 设置地址为默认
     */
    void setDefault(@Param("id") Integer id);

    /**
     * 删除地址
     */
    void delete(@Param("id") Integer id);

    /**
     * 统计用户地址数量
     */
    Integer count(@Param("userId") Integer userId);
}